<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
  <style>
    *{
      margin: 0;
    }
    ol{
      li{
        outline: 1px solid red;
        height: 200px;
        animation: grow-progress 1s linear;
        animation-timeline: view(80% 0);
      }
    }

    @keyframes grow-progress {
      from { transform: scaleX(0); }
      to { transform: scaleX(1); }
    }

    :root{
      --headerHeight: 100vh;
    }
    body{
      position: relative;
      padding-top: var(--headerHeight);
    }

    .header{
      height: var(--headerHeight);
      background: #ccc;
      position: fixed;
      top: 0;
      left: 0;
      width: 100%;
      z-index: 100;
      animation: header 1s linear forwards;
      animation-timeline: scroll();
      animation-range: 0 calc(var(--headerHeight) - 60px);
    }

    @keyframes header {
      to { 
        height: 60px;
        font-size: 30px;
      }
    }
  </style>
</head>
<body style="--headerHeight: 50vh;">
  <div class="header">111111111</div>
  <ol>
    <li></li>
    <li></li>
    <li></li>
    <li></li>
    <li></li>
    <li></li>
    <li></li>
    <li></li>
    <li></li>
    <li></li>
  </ol>
</body>
</html>